/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package negocio;

import java.util.Properties;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.mail.*;

/**
 *
 * @author geremias
 */
public class Recibir {

    public void recibirmail() {
        // Obtener el usuario y la contraseña recibidos como parámetros
        String usuario = "grupo9sa";
        String clave = "grupo9grupo9";
        // Obtenemos las propiedades del sistema
        String popHost = "virtual.fcet.uagrm.edu.bo";

        Properties prop = new Properties();

        // Deshabilitamos TLS
        prop.setProperty("mail.pop3.starttls.enable", "false");

        // Hay que usar SSL
        prop.setProperty("mail.pop3.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
        prop.setProperty("mail.pop3.socketFactory.fallback", "false");

        // Puerto 995 para conectarse.
        prop.setProperty("mail.pop3.port", "995");
        prop.setProperty("mail.pop3.socketFactory.port", "995");

        Session sesion = Session.getInstance(prop);

        // Para obtener un log más extenso.
        sesion.setDebug(true);

        // Capturar las excepciones

        try {


            //Crear un Store indicando el protocolo de acceso y
            // conectarse a él
            Store store = sesion.getStore("pop3");
            store.connect(popHost, usuario, clave);
            /*  URLName url = new URLName(
            "pop3://" + usuario + ":" + clave + "@" + popHost +
            ":" + 110 + "/INBOX");
            POP3Store store = new POP3Store(sesion, url);
            store.connect();*/

            // Crear un Folder y abrir la carpeta INBOX en modo SOLO LECTURA
            Folder folder = store.getFolder("INBOX");

            //System.out.println("Total: "+ folder.getMessageCount());
            //System.out.println("To: "+ folder.getNewMessageCount());

            folder.open(Folder.READ_ONLY);

            // Obtener los mensajes almacenados en la carpeta
            Message[] mensajes = folder.getMessages();

            // Procesar los mensajes
            for (int i = 0; i < mensajes.length; i++) {
            System.out.println("Mensaje " + i + ":\n" + "\tAsunto: " + mensajes[i].getSubject() + "\n" + "\tRemitente: " + mensajes[i].getFrom()[0] + "\n" + "\tFecha de Envío: " + mensajes[i].getSentDate() + "\n" + "\tContenido: " + mensajes[i].getContent() + "\n");
            }
            /*for (int i = 0; i < mensajes.length; i++)
            {
                if (mensajes[i].isMimeType("text/*")) // mensaje de texto simple
                {}
                if (mensajes[i].isMimeType("multipart/*")) // mensaje compuesto
                {}
            }*/
            //Cerrar el Folder y el Store
            folder.close(false);
            store.close();
        } catch (Exception ex) {
            Logger.getLogger(Recibir.class.getName()).log(Level.SEVERE, null, ex);
        }

    }
}


